package br.ucb.ucblive.beans;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table (name="moderador")
public class Moderador {

	private int idModerador;
	private Usuario usuario;
	private Curso curso;
	private String nome;
	private String matricula;
	private Date dataNasc;
	private String telefone;
	private String email;
	private String titulacao;
	private String perfil;
	
	public Moderador(){}

	@Id
	@GeneratedValue
	public int getIdModerador() {
		return idModerador;
	}

	public void setIdModerador(int idModerador) {
		this.idModerador = idModerador;
	}

	@OneToOne
	@JoinColumn (name="login")
	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	@OneToOne 
	@JoinColumn (name="idCurso")
	public Curso getCurso() {
		return curso;
	}

	public void setCurso(Curso curso) {
		this.curso = curso;
	}

	@Column
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Column
	public String getMatricula() {
		return matricula;
	}

	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

	@Column
	@Temporal(TemporalType.DATE)
	public Date getDataNasc() {
		return dataNasc;
	}

	public void setDataNasc(Date dataNasc) {
		this.dataNasc = dataNasc;
	}

	@Column
	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	@Column
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column
	public String getTitulacao() {
		return titulacao;
	}

	public void setTitulacao(String titulacao) {
		this.titulacao = titulacao;
	}

	@Column
	public String getPerfil() {
		return perfil;
	}

	public void setPerfil(String perfil) {
		this.perfil = perfil;
	}

	@Override
	public String toString() {
		return "Moderador [idModerador=" + idModerador + ", usuario=" + usuario
				+ ", curso=" + curso + ", nome=" + nome + ", matricula="
				+ matricula + ", dataNasc=" + dataNasc + ", telefone="
				+ telefone + ", email=" + email + ", titulacao=" + titulacao
				+ ", perfil=" + perfil + "]";
	}
	
	
}
